// Generated from D:/development/code/companyCode/hex/em/hcdp-tools/hcdp-tool-file/src/main/resources/antlr/impala/ImpalaParser.g4 by ANTLR 4.13.1
package com.hex.ds.em.hcdp.impala.gen;
import com.hex.ds.em.hcdp.impala.gen.ImpalaParser;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link ImpalaParser}.
 */
public interface ImpalaParserListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#statements}.
	 * @param ctx the parse tree
	 */
	void enterStatements(ImpalaParser.StatementsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#statements}.
	 * @param ctx the parse tree
	 */
	void exitStatements(ImpalaParser.StatementsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#statementSeparator}.
	 * @param ctx the parse tree
	 */
	void enterStatementSeparator(ImpalaParser.StatementSeparatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#statementSeparator}.
	 * @param ctx the parse tree
	 */
	void exitStatementSeparator(ImpalaParser.StatementSeparatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#empty}.
	 * @param ctx the parse tree
	 */
	void enterEmpty(ImpalaParser.EmptyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#empty}.
	 * @param ctx the parse tree
	 */
	void exitEmpty(ImpalaParser.EmptyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterStatement(ImpalaParser.StatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitStatement(ImpalaParser.StatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#remark}.
	 * @param ctx the parse tree
	 */
	void enterRemark(ImpalaParser.RemarkContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#remark}.
	 * @param ctx the parse tree
	 */
	void exitRemark(ImpalaParser.RemarkContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#explainStatement}.
	 * @param ctx the parse tree
	 */
	void enterExplainStatement(ImpalaParser.ExplainStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#explainStatement}.
	 * @param ctx the parse tree
	 */
	void exitExplainStatement(ImpalaParser.ExplainStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#explainOption}.
	 * @param ctx the parse tree
	 */
	void enterExplainOption(ImpalaParser.ExplainOptionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#explainOption}.
	 * @param ctx the parse tree
	 */
	void exitExplainOption(ImpalaParser.ExplainOptionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#vectorizationOnly}.
	 * @param ctx the parse tree
	 */
	void enterVectorizationOnly(ImpalaParser.VectorizationOnlyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#vectorizationOnly}.
	 * @param ctx the parse tree
	 */
	void exitVectorizationOnly(ImpalaParser.VectorizationOnlyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#vectorizatonDetail}.
	 * @param ctx the parse tree
	 */
	void enterVectorizatonDetail(ImpalaParser.VectorizatonDetailContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#vectorizatonDetail}.
	 * @param ctx the parse tree
	 */
	void exitVectorizatonDetail(ImpalaParser.VectorizatonDetailContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#execStatement}.
	 * @param ctx the parse tree
	 */
	void enterExecStatement(ImpalaParser.ExecStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#execStatement}.
	 * @param ctx the parse tree
	 */
	void exitExecStatement(ImpalaParser.ExecStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setting_clause_impala}.
	 * @param ctx the parse tree
	 */
	void enterSetting_clause_impala(ImpalaParser.Setting_clause_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setting_clause_impala}.
	 * @param ctx the parse tree
	 */
	void exitSetting_clause_impala(ImpalaParser.Setting_clause_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#loadStatement}.
	 * @param ctx the parse tree
	 */
	void enterLoadStatement(ImpalaParser.LoadStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#loadStatement}.
	 * @param ctx the parse tree
	 */
	void exitLoadStatement(ImpalaParser.LoadStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replicationClause}.
	 * @param ctx the parse tree
	 */
	void enterReplicationClause(ImpalaParser.ReplicationClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replicationClause}.
	 * @param ctx the parse tree
	 */
	void exitReplicationClause(ImpalaParser.ReplicationClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#exportStatement}.
	 * @param ctx the parse tree
	 */
	void enterExportStatement(ImpalaParser.ExportStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#exportStatement}.
	 * @param ctx the parse tree
	 */
	void exitExportStatement(ImpalaParser.ExportStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void enterImportStatement(ImpalaParser.ImportStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#importStatement}.
	 * @param ctx the parse tree
	 */
	void exitImportStatement(ImpalaParser.ImportStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replDumpStatement}.
	 * @param ctx the parse tree
	 */
	void enterReplDumpStatement(ImpalaParser.ReplDumpStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replDumpStatement}.
	 * @param ctx the parse tree
	 */
	void exitReplDumpStatement(ImpalaParser.ReplDumpStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replLoadStatement}.
	 * @param ctx the parse tree
	 */
	void enterReplLoadStatement(ImpalaParser.ReplLoadStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replLoadStatement}.
	 * @param ctx the parse tree
	 */
	void exitReplLoadStatement(ImpalaParser.ReplLoadStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replConfigs}.
	 * @param ctx the parse tree
	 */
	void enterReplConfigs(ImpalaParser.ReplConfigsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replConfigs}.
	 * @param ctx the parse tree
	 */
	void exitReplConfigs(ImpalaParser.ReplConfigsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replConfigsList}.
	 * @param ctx the parse tree
	 */
	void enterReplConfigsList(ImpalaParser.ReplConfigsListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replConfigsList}.
	 * @param ctx the parse tree
	 */
	void exitReplConfigsList(ImpalaParser.ReplConfigsListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#replStatusStatement}.
	 * @param ctx the parse tree
	 */
	void enterReplStatusStatement(ImpalaParser.ReplStatusStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#replStatusStatement}.
	 * @param ctx the parse tree
	 */
	void exitReplStatusStatement(ImpalaParser.ReplStatusStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#ddlStatement}.
	 * @param ctx the parse tree
	 */
	void enterDdlStatement(ImpalaParser.DdlStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#ddlStatement}.
	 * @param ctx the parse tree
	 */
	void exitDdlStatement(ImpalaParser.DdlStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#ifExists}.
	 * @param ctx the parse tree
	 */
	void enterIfExists(ImpalaParser.IfExistsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#ifExists}.
	 * @param ctx the parse tree
	 */
	void exitIfExists(ImpalaParser.IfExistsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#restrictOrCascade}.
	 * @param ctx the parse tree
	 */
	void enterRestrictOrCascade(ImpalaParser.RestrictOrCascadeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#restrictOrCascade}.
	 * @param ctx the parse tree
	 */
	void exitRestrictOrCascade(ImpalaParser.RestrictOrCascadeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#ifNotExists}.
	 * @param ctx the parse tree
	 */
	void enterIfNotExists(ImpalaParser.IfNotExistsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#ifNotExists}.
	 * @param ctx the parse tree
	 */
	void exitIfNotExists(ImpalaParser.IfNotExistsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rewriteEnabled}.
	 * @param ctx the parse tree
	 */
	void enterRewriteEnabled(ImpalaParser.RewriteEnabledContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rewriteEnabled}.
	 * @param ctx the parse tree
	 */
	void exitRewriteEnabled(ImpalaParser.RewriteEnabledContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rewriteDisabled}.
	 * @param ctx the parse tree
	 */
	void enterRewriteDisabled(ImpalaParser.RewriteDisabledContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rewriteDisabled}.
	 * @param ctx the parse tree
	 */
	void exitRewriteDisabled(ImpalaParser.RewriteDisabledContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#storedAsDirs}.
	 * @param ctx the parse tree
	 */
	void enterStoredAsDirs(ImpalaParser.StoredAsDirsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#storedAsDirs}.
	 * @param ctx the parse tree
	 */
	void exitStoredAsDirs(ImpalaParser.StoredAsDirsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#orReplace}.
	 * @param ctx the parse tree
	 */
	void enterOrReplace(ImpalaParser.OrReplaceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#orReplace}.
	 * @param ctx the parse tree
	 */
	void exitOrReplace(ImpalaParser.OrReplaceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateDatabaseStatement(ImpalaParser.CreateDatabaseStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateDatabaseStatement(ImpalaParser.CreateDatabaseStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dbLocation}.
	 * @param ctx the parse tree
	 */
	void enterDbLocation(ImpalaParser.DbLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dbLocation}.
	 * @param ctx the parse tree
	 */
	void exitDbLocation(ImpalaParser.DbLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dbProperties}.
	 * @param ctx the parse tree
	 */
	void enterDbProperties(ImpalaParser.DbPropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dbProperties}.
	 * @param ctx the parse tree
	 */
	void exitDbProperties(ImpalaParser.DbPropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dbPropertiesList}.
	 * @param ctx the parse tree
	 */
	void enterDbPropertiesList(ImpalaParser.DbPropertiesListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dbPropertiesList}.
	 * @param ctx the parse tree
	 */
	void exitDbPropertiesList(ImpalaParser.DbPropertiesListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#switchDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void enterSwitchDatabaseStatement(ImpalaParser.SwitchDatabaseStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#switchDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void exitSwitchDatabaseStatement(ImpalaParser.SwitchDatabaseStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropDatabaseStatement(ImpalaParser.DropDatabaseStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropDatabaseStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropDatabaseStatement(ImpalaParser.DropDatabaseStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#databaseComment}.
	 * @param ctx the parse tree
	 */
	void enterDatabaseComment(ImpalaParser.DatabaseCommentContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#databaseComment}.
	 * @param ctx the parse tree
	 */
	void exitDatabaseComment(ImpalaParser.DatabaseCommentContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createTableStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateTableStatement(ImpalaParser.CreateTableStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createTableStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateTableStatement(ImpalaParser.CreateTableStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableWithSerdeproperties}.
	 * @param ctx the parse tree
	 */
	void enterTableWithSerdeproperties(ImpalaParser.TableWithSerdepropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableWithSerdeproperties}.
	 * @param ctx the parse tree
	 */
	void exitTableWithSerdeproperties(ImpalaParser.TableWithSerdepropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableStored}.
	 * @param ctx the parse tree
	 */
	void enterTableStored(ImpalaParser.TableStoredContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableStored}.
	 * @param ctx the parse tree
	 */
	void exitTableStored(ImpalaParser.TableStoredContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#file_format}.
	 * @param ctx the parse tree
	 */
	void enterFile_format(ImpalaParser.File_formatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#file_format}.
	 * @param ctx the parse tree
	 */
	void exitFile_format(ImpalaParser.File_formatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#truncateTableStatement}.
	 * @param ctx the parse tree
	 */
	void enterTruncateTableStatement(ImpalaParser.TruncateTableStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#truncateTableStatement}.
	 * @param ctx the parse tree
	 */
	void exitTruncateTableStatement(ImpalaParser.TruncateTableStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropTableStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropTableStatement(ImpalaParser.DropTableStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropTableStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropTableStatement(ImpalaParser.DropTableStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatement}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatement(ImpalaParser.AlterStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatement}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatement(ImpalaParser.AlterStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterTableStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterTableStatementSuffix(ImpalaParser.AlterTableStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterTableStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterTableStatementSuffix(ImpalaParser.AlterTableStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterTblPartitionStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterTblPartitionStatementSuffix(ImpalaParser.AlterTblPartitionStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterTblPartitionStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterTblPartitionStatementSuffix(ImpalaParser.AlterTblPartitionStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementPartitionKeyType}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementPartitionKeyType(ImpalaParser.AlterStatementPartitionKeyTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementPartitionKeyType}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementPartitionKeyType(ImpalaParser.AlterStatementPartitionKeyTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterViewStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterViewStatementSuffix(ImpalaParser.AlterViewStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterViewStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterViewStatementSuffix(ImpalaParser.AlterViewStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterMaterializedViewStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterMaterializedViewStatementSuffix(ImpalaParser.AlterMaterializedViewStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterMaterializedViewStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterMaterializedViewStatementSuffix(ImpalaParser.AlterMaterializedViewStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterDatabaseStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterDatabaseStatementSuffix(ImpalaParser.AlterDatabaseStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterDatabaseStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterDatabaseStatementSuffix(ImpalaParser.AlterDatabaseStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void enterAlterDatabaseSuffixProperties(ImpalaParser.AlterDatabaseSuffixPropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void exitAlterDatabaseSuffixProperties(ImpalaParser.AlterDatabaseSuffixPropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixSetOwner}.
	 * @param ctx the parse tree
	 */
	void enterAlterDatabaseSuffixSetOwner(ImpalaParser.AlterDatabaseSuffixSetOwnerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixSetOwner}.
	 * @param ctx the parse tree
	 */
	void exitAlterDatabaseSuffixSetOwner(ImpalaParser.AlterDatabaseSuffixSetOwnerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixSetLocation}.
	 * @param ctx the parse tree
	 */
	void enterAlterDatabaseSuffixSetLocation(ImpalaParser.AlterDatabaseSuffixSetLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterDatabaseSuffixSetLocation}.
	 * @param ctx the parse tree
	 */
	void exitAlterDatabaseSuffixSetLocation(ImpalaParser.AlterDatabaseSuffixSetLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixRename}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixRename(ImpalaParser.AlterStatementSuffixRenameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixRename}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixRename(ImpalaParser.AlterStatementSuffixRenameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddCol}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixAddCol(ImpalaParser.AlterStatementSuffixAddColContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddCol}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixAddCol(ImpalaParser.AlterStatementSuffixAddColContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddConstraint}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixAddConstraint(ImpalaParser.AlterStatementSuffixAddConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddConstraint}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixAddConstraint(ImpalaParser.AlterStatementSuffixAddConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixDropConstraint}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixDropConstraint(ImpalaParser.AlterStatementSuffixDropConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixDropConstraint}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixDropConstraint(ImpalaParser.AlterStatementSuffixDropConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixRenameCol}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixRenameCol(ImpalaParser.AlterStatementSuffixRenameColContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixRenameCol}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixRenameCol(ImpalaParser.AlterStatementSuffixRenameColContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixUpdateStatsCol}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixUpdateStatsCol(ImpalaParser.AlterStatementSuffixUpdateStatsColContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixUpdateStatsCol}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixUpdateStatsCol(ImpalaParser.AlterStatementSuffixUpdateStatsColContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixUpdateStats}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixUpdateStats(ImpalaParser.AlterStatementSuffixUpdateStatsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixUpdateStats}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixUpdateStats(ImpalaParser.AlterStatementSuffixUpdateStatsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementChangeColPosition}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementChangeColPosition(ImpalaParser.AlterStatementChangeColPositionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementChangeColPosition}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementChangeColPosition(ImpalaParser.AlterStatementChangeColPositionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddPartitions}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixAddPartitions(ImpalaParser.AlterStatementSuffixAddPartitionsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddPartitions}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixAddPartitions(ImpalaParser.AlterStatementSuffixAddPartitionsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddPartitionsElement}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixAddPartitionsElement(ImpalaParser.AlterStatementSuffixAddPartitionsElementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixAddPartitionsElement}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixAddPartitionsElement(ImpalaParser.AlterStatementSuffixAddPartitionsElementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixTouch}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixTouch(ImpalaParser.AlterStatementSuffixTouchContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixTouch}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixTouch(ImpalaParser.AlterStatementSuffixTouchContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixArchive}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixArchive(ImpalaParser.AlterStatementSuffixArchiveContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixArchive}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixArchive(ImpalaParser.AlterStatementSuffixArchiveContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixUnArchive}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixUnArchive(ImpalaParser.AlterStatementSuffixUnArchiveContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixUnArchive}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixUnArchive(ImpalaParser.AlterStatementSuffixUnArchiveContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionLocation}.
	 * @param ctx the parse tree
	 */
	void enterPartitionLocation(ImpalaParser.PartitionLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionLocation}.
	 * @param ctx the parse tree
	 */
	void exitPartitionLocation(ImpalaParser.PartitionLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixDropPartitions}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixDropPartitions(ImpalaParser.AlterStatementSuffixDropPartitionsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixDropPartitions}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixDropPartitions(ImpalaParser.AlterStatementSuffixDropPartitionsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixProperties(ImpalaParser.AlterStatementSuffixPropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixProperties(ImpalaParser.AlterStatementSuffixPropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterViewSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void enterAlterViewSuffixProperties(ImpalaParser.AlterViewSuffixPropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterViewSuffixProperties}.
	 * @param ctx the parse tree
	 */
	void exitAlterViewSuffixProperties(ImpalaParser.AlterViewSuffixPropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterMaterializedViewSuffixRewrite}.
	 * @param ctx the parse tree
	 */
	void enterAlterMaterializedViewSuffixRewrite(ImpalaParser.AlterMaterializedViewSuffixRewriteContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterMaterializedViewSuffixRewrite}.
	 * @param ctx the parse tree
	 */
	void exitAlterMaterializedViewSuffixRewrite(ImpalaParser.AlterMaterializedViewSuffixRewriteContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterMaterializedViewSuffixRebuild}.
	 * @param ctx the parse tree
	 */
	void enterAlterMaterializedViewSuffixRebuild(ImpalaParser.AlterMaterializedViewSuffixRebuildContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterMaterializedViewSuffixRebuild}.
	 * @param ctx the parse tree
	 */
	void exitAlterMaterializedViewSuffixRebuild(ImpalaParser.AlterMaterializedViewSuffixRebuildContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixSerdeProperties}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixSerdeProperties(ImpalaParser.AlterStatementSuffixSerdePropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixSerdeProperties}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixSerdeProperties(ImpalaParser.AlterStatementSuffixSerdePropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterIndexStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void enterAlterIndexStatementSuffix(ImpalaParser.AlterIndexStatementSuffixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterIndexStatementSuffix}.
	 * @param ctx the parse tree
	 */
	void exitAlterIndexStatementSuffix(ImpalaParser.AlterIndexStatementSuffixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixFileFormat}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixFileFormat(ImpalaParser.AlterStatementSuffixFileFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixFileFormat}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixFileFormat(ImpalaParser.AlterStatementSuffixFileFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixClusterbySortby}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixClusterbySortby(ImpalaParser.AlterStatementSuffixClusterbySortbyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixClusterbySortby}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixClusterbySortby(ImpalaParser.AlterStatementSuffixClusterbySortbyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterTblPartitionStatementSuffixSkewedLocation}.
	 * @param ctx the parse tree
	 */
	void enterAlterTblPartitionStatementSuffixSkewedLocation(ImpalaParser.AlterTblPartitionStatementSuffixSkewedLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterTblPartitionStatementSuffixSkewedLocation}.
	 * @param ctx the parse tree
	 */
	void exitAlterTblPartitionStatementSuffixSkewedLocation(ImpalaParser.AlterTblPartitionStatementSuffixSkewedLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedLocations}.
	 * @param ctx the parse tree
	 */
	void enterSkewedLocations(ImpalaParser.SkewedLocationsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedLocations}.
	 * @param ctx the parse tree
	 */
	void exitSkewedLocations(ImpalaParser.SkewedLocationsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedLocationsList}.
	 * @param ctx the parse tree
	 */
	void enterSkewedLocationsList(ImpalaParser.SkewedLocationsListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedLocationsList}.
	 * @param ctx the parse tree
	 */
	void exitSkewedLocationsList(ImpalaParser.SkewedLocationsListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedLocationMap}.
	 * @param ctx the parse tree
	 */
	void enterSkewedLocationMap(ImpalaParser.SkewedLocationMapContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedLocationMap}.
	 * @param ctx the parse tree
	 */
	void exitSkewedLocationMap(ImpalaParser.SkewedLocationMapContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixLocation}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixLocation(ImpalaParser.AlterStatementSuffixLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixLocation}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixLocation(ImpalaParser.AlterStatementSuffixLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixSkewedby}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixSkewedby(ImpalaParser.AlterStatementSuffixSkewedbyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixSkewedby}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixSkewedby(ImpalaParser.AlterStatementSuffixSkewedbyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixExchangePartition}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixExchangePartition(ImpalaParser.AlterStatementSuffixExchangePartitionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixExchangePartition}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixExchangePartition(ImpalaParser.AlterStatementSuffixExchangePartitionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixRenamePart}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixRenamePart(ImpalaParser.AlterStatementSuffixRenamePartContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixRenamePart}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixRenamePart(ImpalaParser.AlterStatementSuffixRenamePartContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixStatsPart}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixStatsPart(ImpalaParser.AlterStatementSuffixStatsPartContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixStatsPart}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixStatsPart(ImpalaParser.AlterStatementSuffixStatsPartContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixMergeFiles}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixMergeFiles(ImpalaParser.AlterStatementSuffixMergeFilesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixMergeFiles}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixMergeFiles(ImpalaParser.AlterStatementSuffixMergeFilesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixBucketNum}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixBucketNum(ImpalaParser.AlterStatementSuffixBucketNumContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixBucketNum}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixBucketNum(ImpalaParser.AlterStatementSuffixBucketNumContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createIndexStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateIndexStatement(ImpalaParser.CreateIndexStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createIndexStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateIndexStatement(ImpalaParser.CreateIndexStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#locationPath}.
	 * @param ctx the parse tree
	 */
	void enterLocationPath(ImpalaParser.LocationPathContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#locationPath}.
	 * @param ctx the parse tree
	 */
	void exitLocationPath(ImpalaParser.LocationPathContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropIndexStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropIndexStatement(ImpalaParser.DropIndexStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropIndexStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropIndexStatement(ImpalaParser.DropIndexStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tablePartitionPrefix}.
	 * @param ctx the parse tree
	 */
	void enterTablePartitionPrefix(ImpalaParser.TablePartitionPrefixContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tablePartitionPrefix}.
	 * @param ctx the parse tree
	 */
	void exitTablePartitionPrefix(ImpalaParser.TablePartitionPrefixContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#blocking}.
	 * @param ctx the parse tree
	 */
	void enterBlocking(ImpalaParser.BlockingContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#blocking}.
	 * @param ctx the parse tree
	 */
	void exitBlocking(ImpalaParser.BlockingContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixCompact}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixCompact(ImpalaParser.AlterStatementSuffixCompactContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixCompact}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixCompact(ImpalaParser.AlterStatementSuffixCompactContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterStatementSuffixSetOwner}.
	 * @param ctx the parse tree
	 */
	void enterAlterStatementSuffixSetOwner(ImpalaParser.AlterStatementSuffixSetOwnerContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterStatementSuffixSetOwner}.
	 * @param ctx the parse tree
	 */
	void exitAlterStatementSuffixSetOwner(ImpalaParser.AlterStatementSuffixSetOwnerContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#fileFormat}.
	 * @param ctx the parse tree
	 */
	void enterFileFormat(ImpalaParser.FileFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#fileFormat}.
	 * @param ctx the parse tree
	 */
	void exitFileFormat(ImpalaParser.FileFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#inputFileFormat}.
	 * @param ctx the parse tree
	 */
	void enterInputFileFormat(ImpalaParser.InputFileFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#inputFileFormat}.
	 * @param ctx the parse tree
	 */
	void exitInputFileFormat(ImpalaParser.InputFileFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tabTypeExpr}.
	 * @param ctx the parse tree
	 */
	void enterTabTypeExpr(ImpalaParser.TabTypeExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tabTypeExpr}.
	 * @param ctx the parse tree
	 */
	void exitTabTypeExpr(ImpalaParser.TabTypeExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partTypeExpr}.
	 * @param ctx the parse tree
	 */
	void enterPartTypeExpr(ImpalaParser.PartTypeExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partTypeExpr}.
	 * @param ctx the parse tree
	 */
	void exitPartTypeExpr(ImpalaParser.PartTypeExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tabPartColTypeExpr}.
	 * @param ctx the parse tree
	 */
	void enterTabPartColTypeExpr(ImpalaParser.TabPartColTypeExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tabPartColTypeExpr}.
	 * @param ctx the parse tree
	 */
	void exitTabPartColTypeExpr(ImpalaParser.TabPartColTypeExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#descStatement}.
	 * @param ctx the parse tree
	 */
	void enterDescStatement(ImpalaParser.DescStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#descStatement}.
	 * @param ctx the parse tree
	 */
	void exitDescStatement(ImpalaParser.DescStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#analyzeStatement}.
	 * @param ctx the parse tree
	 */
	void enterAnalyzeStatement(ImpalaParser.AnalyzeStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#analyzeStatement}.
	 * @param ctx the parse tree
	 */
	void exitAnalyzeStatement(ImpalaParser.AnalyzeStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showStatement}.
	 * @param ctx the parse tree
	 */
	void enterShowStatement(ImpalaParser.ShowStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showStatement}.
	 * @param ctx the parse tree
	 */
	void exitShowStatement(ImpalaParser.ShowStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#lockStatement}.
	 * @param ctx the parse tree
	 */
	void enterLockStatement(ImpalaParser.LockStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#lockStatement}.
	 * @param ctx the parse tree
	 */
	void exitLockStatement(ImpalaParser.LockStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#lockDatabase}.
	 * @param ctx the parse tree
	 */
	void enterLockDatabase(ImpalaParser.LockDatabaseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#lockDatabase}.
	 * @param ctx the parse tree
	 */
	void exitLockDatabase(ImpalaParser.LockDatabaseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#lockMode}.
	 * @param ctx the parse tree
	 */
	void enterLockMode(ImpalaParser.LockModeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#lockMode}.
	 * @param ctx the parse tree
	 */
	void exitLockMode(ImpalaParser.LockModeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#unlockStatement}.
	 * @param ctx the parse tree
	 */
	void enterUnlockStatement(ImpalaParser.UnlockStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#unlockStatement}.
	 * @param ctx the parse tree
	 */
	void exitUnlockStatement(ImpalaParser.UnlockStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#unlockDatabase}.
	 * @param ctx the parse tree
	 */
	void enterUnlockDatabase(ImpalaParser.UnlockDatabaseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#unlockDatabase}.
	 * @param ctx the parse tree
	 */
	void exitUnlockDatabase(ImpalaParser.UnlockDatabaseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createRoleStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateRoleStatement(ImpalaParser.CreateRoleStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createRoleStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateRoleStatement(ImpalaParser.CreateRoleStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropRoleStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropRoleStatement(ImpalaParser.DropRoleStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropRoleStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropRoleStatement(ImpalaParser.DropRoleStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#grantPrivileges}.
	 * @param ctx the parse tree
	 */
	void enterGrantPrivileges(ImpalaParser.GrantPrivilegesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#grantPrivileges}.
	 * @param ctx the parse tree
	 */
	void exitGrantPrivileges(ImpalaParser.GrantPrivilegesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#revokePrivileges}.
	 * @param ctx the parse tree
	 */
	void enterRevokePrivileges(ImpalaParser.RevokePrivilegesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#revokePrivileges}.
	 * @param ctx the parse tree
	 */
	void exitRevokePrivileges(ImpalaParser.RevokePrivilegesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#grantRole}.
	 * @param ctx the parse tree
	 */
	void enterGrantRole(ImpalaParser.GrantRoleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#grantRole}.
	 * @param ctx the parse tree
	 */
	void exitGrantRole(ImpalaParser.GrantRoleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#revokeRole}.
	 * @param ctx the parse tree
	 */
	void enterRevokeRole(ImpalaParser.RevokeRoleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#revokeRole}.
	 * @param ctx the parse tree
	 */
	void exitRevokeRole(ImpalaParser.RevokeRoleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showRoleGrants}.
	 * @param ctx the parse tree
	 */
	void enterShowRoleGrants(ImpalaParser.ShowRoleGrantsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showRoleGrants}.
	 * @param ctx the parse tree
	 */
	void exitShowRoleGrants(ImpalaParser.ShowRoleGrantsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showRoles}.
	 * @param ctx the parse tree
	 */
	void enterShowRoles(ImpalaParser.ShowRolesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showRoles}.
	 * @param ctx the parse tree
	 */
	void exitShowRoles(ImpalaParser.ShowRolesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showCurrentRole}.
	 * @param ctx the parse tree
	 */
	void enterShowCurrentRole(ImpalaParser.ShowCurrentRoleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showCurrentRole}.
	 * @param ctx the parse tree
	 */
	void exitShowCurrentRole(ImpalaParser.ShowCurrentRoleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setRole}.
	 * @param ctx the parse tree
	 */
	void enterSetRole(ImpalaParser.SetRoleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setRole}.
	 * @param ctx the parse tree
	 */
	void exitSetRole(ImpalaParser.SetRoleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showGrants}.
	 * @param ctx the parse tree
	 */
	void enterShowGrants(ImpalaParser.ShowGrantsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showGrants}.
	 * @param ctx the parse tree
	 */
	void exitShowGrants(ImpalaParser.ShowGrantsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showRolePrincipals}.
	 * @param ctx the parse tree
	 */
	void enterShowRolePrincipals(ImpalaParser.ShowRolePrincipalsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showRolePrincipals}.
	 * @param ctx the parse tree
	 */
	void exitShowRolePrincipals(ImpalaParser.ShowRolePrincipalsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privilegeIncludeColObject}.
	 * @param ctx the parse tree
	 */
	void enterPrivilegeIncludeColObject(ImpalaParser.PrivilegeIncludeColObjectContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privilegeIncludeColObject}.
	 * @param ctx the parse tree
	 */
	void exitPrivilegeIncludeColObject(ImpalaParser.PrivilegeIncludeColObjectContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privilegeObject}.
	 * @param ctx the parse tree
	 */
	void enterPrivilegeObject(ImpalaParser.PrivilegeObjectContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privilegeObject}.
	 * @param ctx the parse tree
	 */
	void exitPrivilegeObject(ImpalaParser.PrivilegeObjectContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privObject}.
	 * @param ctx the parse tree
	 */
	void enterPrivObject(ImpalaParser.PrivObjectContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privObject}.
	 * @param ctx the parse tree
	 */
	void exitPrivObject(ImpalaParser.PrivObjectContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privObjectCols}.
	 * @param ctx the parse tree
	 */
	void enterPrivObjectCols(ImpalaParser.PrivObjectColsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privObjectCols}.
	 * @param ctx the parse tree
	 */
	void exitPrivObjectCols(ImpalaParser.PrivObjectColsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privilegeList}.
	 * @param ctx the parse tree
	 */
	void enterPrivilegeList(ImpalaParser.PrivilegeListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privilegeList}.
	 * @param ctx the parse tree
	 */
	void exitPrivilegeList(ImpalaParser.PrivilegeListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privlegeDef}.
	 * @param ctx the parse tree
	 */
	void enterPrivlegeDef(ImpalaParser.PrivlegeDefContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privlegeDef}.
	 * @param ctx the parse tree
	 */
	void exitPrivlegeDef(ImpalaParser.PrivlegeDefContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#privilegeType}.
	 * @param ctx the parse tree
	 */
	void enterPrivilegeType(ImpalaParser.PrivilegeTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#privilegeType}.
	 * @param ctx the parse tree
	 */
	void exitPrivilegeType(ImpalaParser.PrivilegeTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#principalSpecification}.
	 * @param ctx the parse tree
	 */
	void enterPrincipalSpecification(ImpalaParser.PrincipalSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#principalSpecification}.
	 * @param ctx the parse tree
	 */
	void exitPrincipalSpecification(ImpalaParser.PrincipalSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#principalName}.
	 * @param ctx the parse tree
	 */
	void enterPrincipalName(ImpalaParser.PrincipalNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#principalName}.
	 * @param ctx the parse tree
	 */
	void exitPrincipalName(ImpalaParser.PrincipalNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#withGrantOption}.
	 * @param ctx the parse tree
	 */
	void enterWithGrantOption(ImpalaParser.WithGrantOptionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#withGrantOption}.
	 * @param ctx the parse tree
	 */
	void exitWithGrantOption(ImpalaParser.WithGrantOptionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#grantOptionFor}.
	 * @param ctx the parse tree
	 */
	void enterGrantOptionFor(ImpalaParser.GrantOptionForContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#grantOptionFor}.
	 * @param ctx the parse tree
	 */
	void exitGrantOptionFor(ImpalaParser.GrantOptionForContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#adminOptionFor}.
	 * @param ctx the parse tree
	 */
	void enterAdminOptionFor(ImpalaParser.AdminOptionForContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#adminOptionFor}.
	 * @param ctx the parse tree
	 */
	void exitAdminOptionFor(ImpalaParser.AdminOptionForContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#withAdminOption}.
	 * @param ctx the parse tree
	 */
	void enterWithAdminOption(ImpalaParser.WithAdminOptionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#withAdminOption}.
	 * @param ctx the parse tree
	 */
	void exitWithAdminOption(ImpalaParser.WithAdminOptionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#metastoreCheck}.
	 * @param ctx the parse tree
	 */
	void enterMetastoreCheck(ImpalaParser.MetastoreCheckContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#metastoreCheck}.
	 * @param ctx the parse tree
	 */
	void exitMetastoreCheck(ImpalaParser.MetastoreCheckContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#resourceList}.
	 * @param ctx the parse tree
	 */
	void enterResourceList(ImpalaParser.ResourceListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#resourceList}.
	 * @param ctx the parse tree
	 */
	void exitResourceList(ImpalaParser.ResourceListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#resource}.
	 * @param ctx the parse tree
	 */
	void enterResource(ImpalaParser.ResourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#resource}.
	 * @param ctx the parse tree
	 */
	void exitResource(ImpalaParser.ResourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#resourceType}.
	 * @param ctx the parse tree
	 */
	void enterResourceType(ImpalaParser.ResourceTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#resourceType}.
	 * @param ctx the parse tree
	 */
	void exitResourceType(ImpalaParser.ResourceTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateFunctionStatement(ImpalaParser.CreateFunctionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateFunctionStatement(ImpalaParser.CreateFunctionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropFunctionStatement(ImpalaParser.DropFunctionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropFunctionStatement(ImpalaParser.DropFunctionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#reloadFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void enterReloadFunctionStatement(ImpalaParser.ReloadFunctionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#reloadFunctionStatement}.
	 * @param ctx the parse tree
	 */
	void exitReloadFunctionStatement(ImpalaParser.ReloadFunctionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createMacroStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateMacroStatement(ImpalaParser.CreateMacroStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createMacroStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateMacroStatement(ImpalaParser.CreateMacroStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropMacroStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropMacroStatement(ImpalaParser.DropMacroStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropMacroStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropMacroStatement(ImpalaParser.DropMacroStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createViewStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateViewStatement(ImpalaParser.CreateViewStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createViewStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateViewStatement(ImpalaParser.CreateViewStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createMaterializedViewStatement}.
	 * @param ctx the parse tree
	 */
	void enterCreateMaterializedViewStatement(ImpalaParser.CreateMaterializedViewStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createMaterializedViewStatement}.
	 * @param ctx the parse tree
	 */
	void exitCreateMaterializedViewStatement(ImpalaParser.CreateMaterializedViewStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#viewPartition}.
	 * @param ctx the parse tree
	 */
	void enterViewPartition(ImpalaParser.ViewPartitionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#viewPartition}.
	 * @param ctx the parse tree
	 */
	void exitViewPartition(ImpalaParser.ViewPartitionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropViewStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropViewStatement(ImpalaParser.DropViewStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropViewStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropViewStatement(ImpalaParser.DropViewStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropMaterializedViewStatement}.
	 * @param ctx the parse tree
	 */
	void enterDropMaterializedViewStatement(ImpalaParser.DropMaterializedViewStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropMaterializedViewStatement}.
	 * @param ctx the parse tree
	 */
	void exitDropMaterializedViewStatement(ImpalaParser.DropMaterializedViewStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showFunctionIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterShowFunctionIdentifier(ImpalaParser.ShowFunctionIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showFunctionIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitShowFunctionIdentifier(ImpalaParser.ShowFunctionIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#showStmtIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterShowStmtIdentifier(ImpalaParser.ShowStmtIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#showStmtIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitShowStmtIdentifier(ImpalaParser.ShowStmtIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableComment}.
	 * @param ctx the parse tree
	 */
	void enterTableComment(ImpalaParser.TableCommentContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableComment}.
	 * @param ctx the parse tree
	 */
	void exitTableComment(ImpalaParser.TableCommentContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tablePartition}.
	 * @param ctx the parse tree
	 */
	void enterTablePartition(ImpalaParser.TablePartitionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tablePartition}.
	 * @param ctx the parse tree
	 */
	void exitTablePartition(ImpalaParser.TablePartitionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableBuckets}.
	 * @param ctx the parse tree
	 */
	void enterTableBuckets(ImpalaParser.TableBucketsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableBuckets}.
	 * @param ctx the parse tree
	 */
	void exitTableBuckets(ImpalaParser.TableBucketsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableSkewed}.
	 * @param ctx the parse tree
	 */
	void enterTableSkewed(ImpalaParser.TableSkewedContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableSkewed}.
	 * @param ctx the parse tree
	 */
	void exitTableSkewed(ImpalaParser.TableSkewedContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rowFormat}.
	 * @param ctx the parse tree
	 */
	void enterRowFormat(ImpalaParser.RowFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rowFormat}.
	 * @param ctx the parse tree
	 */
	void exitRowFormat(ImpalaParser.RowFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#recordReader}.
	 * @param ctx the parse tree
	 */
	void enterRecordReader(ImpalaParser.RecordReaderContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#recordReader}.
	 * @param ctx the parse tree
	 */
	void exitRecordReader(ImpalaParser.RecordReaderContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#recordWriter}.
	 * @param ctx the parse tree
	 */
	void enterRecordWriter(ImpalaParser.RecordWriterContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#recordWriter}.
	 * @param ctx the parse tree
	 */
	void exitRecordWriter(ImpalaParser.RecordWriterContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rowFormatSerde}.
	 * @param ctx the parse tree
	 */
	void enterRowFormatSerde(ImpalaParser.RowFormatSerdeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rowFormatSerde}.
	 * @param ctx the parse tree
	 */
	void exitRowFormatSerde(ImpalaParser.RowFormatSerdeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rowFormatDelimited}.
	 * @param ctx the parse tree
	 */
	void enterRowFormatDelimited(ImpalaParser.RowFormatDelimitedContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rowFormatDelimited}.
	 * @param ctx the parse tree
	 */
	void exitRowFormatDelimited(ImpalaParser.RowFormatDelimitedContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowFormat}.
	 * @param ctx the parse tree
	 */
	void enterTableRowFormat(ImpalaParser.TableRowFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowFormat}.
	 * @param ctx the parse tree
	 */
	void exitTableRowFormat(ImpalaParser.TableRowFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tablePropertiesPrefixed}.
	 * @param ctx the parse tree
	 */
	void enterTablePropertiesPrefixed(ImpalaParser.TablePropertiesPrefixedContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tablePropertiesPrefixed}.
	 * @param ctx the parse tree
	 */
	void exitTablePropertiesPrefixed(ImpalaParser.TablePropertiesPrefixedContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableProperties}.
	 * @param ctx the parse tree
	 */
	void enterTableProperties(ImpalaParser.TablePropertiesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableProperties}.
	 * @param ctx the parse tree
	 */
	void exitTableProperties(ImpalaParser.TablePropertiesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tablePropertiesList}.
	 * @param ctx the parse tree
	 */
	void enterTablePropertiesList(ImpalaParser.TablePropertiesListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tablePropertiesList}.
	 * @param ctx the parse tree
	 */
	void exitTablePropertiesList(ImpalaParser.TablePropertiesListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#keyValueProperty}.
	 * @param ctx the parse tree
	 */
	void enterKeyValueProperty(ImpalaParser.KeyValuePropertyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#keyValueProperty}.
	 * @param ctx the parse tree
	 */
	void exitKeyValueProperty(ImpalaParser.KeyValuePropertyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#keyProperty}.
	 * @param ctx the parse tree
	 */
	void enterKeyProperty(ImpalaParser.KeyPropertyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#keyProperty}.
	 * @param ctx the parse tree
	 */
	void exitKeyProperty(ImpalaParser.KeyPropertyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowFormatFieldIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterTableRowFormatFieldIdentifier(ImpalaParser.TableRowFormatFieldIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowFormatFieldIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitTableRowFormatFieldIdentifier(ImpalaParser.TableRowFormatFieldIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowFormatCollItemsIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterTableRowFormatCollItemsIdentifier(ImpalaParser.TableRowFormatCollItemsIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowFormatCollItemsIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitTableRowFormatCollItemsIdentifier(ImpalaParser.TableRowFormatCollItemsIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowFormatMapKeysIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterTableRowFormatMapKeysIdentifier(ImpalaParser.TableRowFormatMapKeysIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowFormatMapKeysIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitTableRowFormatMapKeysIdentifier(ImpalaParser.TableRowFormatMapKeysIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowFormatLinesIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterTableRowFormatLinesIdentifier(ImpalaParser.TableRowFormatLinesIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowFormatLinesIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitTableRowFormatLinesIdentifier(ImpalaParser.TableRowFormatLinesIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableRowNullFormat}.
	 * @param ctx the parse tree
	 */
	void enterTableRowNullFormat(ImpalaParser.TableRowNullFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableRowNullFormat}.
	 * @param ctx the parse tree
	 */
	void exitTableRowNullFormat(ImpalaParser.TableRowNullFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableFileFormat}.
	 * @param ctx the parse tree
	 */
	void enterTableFileFormat(ImpalaParser.TableFileFormatContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableFileFormat}.
	 * @param ctx the parse tree
	 */
	void exitTableFileFormat(ImpalaParser.TableFileFormatContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableLocation}.
	 * @param ctx the parse tree
	 */
	void enterTableLocation(ImpalaParser.TableLocationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableLocation}.
	 * @param ctx the parse tree
	 */
	void exitTableLocation(ImpalaParser.TableLocationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameTypeList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameTypeList(ImpalaParser.ColumnNameTypeListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameTypeList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameTypeList(ImpalaParser.ColumnNameTypeListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameTypeOrConstraintList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameTypeOrConstraintList(ImpalaParser.ColumnNameTypeOrConstraintListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameTypeOrConstraintList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameTypeOrConstraintList(ImpalaParser.ColumnNameTypeOrConstraintListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameColonTypeList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameColonTypeList(ImpalaParser.ColumnNameColonTypeListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameColonTypeList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameColonTypeList(ImpalaParser.ColumnNameColonTypeListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameList(ImpalaParser.ColumnNameListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameList(ImpalaParser.ColumnNameListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnName}.
	 * @param ctx the parse tree
	 */
	void enterColumnName(ImpalaParser.ColumnNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnName}.
	 * @param ctx the parse tree
	 */
	void exitColumnName(ImpalaParser.ColumnNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#extColumnName}.
	 * @param ctx the parse tree
	 */
	void enterExtColumnName(ImpalaParser.ExtColumnNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#extColumnName}.
	 * @param ctx the parse tree
	 */
	void exitExtColumnName(ImpalaParser.ExtColumnNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameOrderList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameOrderList(ImpalaParser.ColumnNameOrderListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameOrderList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameOrderList(ImpalaParser.ColumnNameOrderListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnParenthesesList}.
	 * @param ctx the parse tree
	 */
	void enterColumnParenthesesList(ImpalaParser.ColumnParenthesesListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnParenthesesList}.
	 * @param ctx the parse tree
	 */
	void exitColumnParenthesesList(ImpalaParser.ColumnParenthesesListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#enableValidateSpecification}.
	 * @param ctx the parse tree
	 */
	void enterEnableValidateSpecification(ImpalaParser.EnableValidateSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#enableValidateSpecification}.
	 * @param ctx the parse tree
	 */
	void exitEnableValidateSpecification(ImpalaParser.EnableValidateSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#enableSpecification}.
	 * @param ctx the parse tree
	 */
	void enterEnableSpecification(ImpalaParser.EnableSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#enableSpecification}.
	 * @param ctx the parse tree
	 */
	void exitEnableSpecification(ImpalaParser.EnableSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#validateSpecification}.
	 * @param ctx the parse tree
	 */
	void enterValidateSpecification(ImpalaParser.ValidateSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#validateSpecification}.
	 * @param ctx the parse tree
	 */
	void exitValidateSpecification(ImpalaParser.ValidateSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#enforcedSpecification}.
	 * @param ctx the parse tree
	 */
	void enterEnforcedSpecification(ImpalaParser.EnforcedSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#enforcedSpecification}.
	 * @param ctx the parse tree
	 */
	void exitEnforcedSpecification(ImpalaParser.EnforcedSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#relySpecification}.
	 * @param ctx the parse tree
	 */
	void enterRelySpecification(ImpalaParser.RelySpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#relySpecification}.
	 * @param ctx the parse tree
	 */
	void exitRelySpecification(ImpalaParser.RelySpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createConstraint}.
	 * @param ctx the parse tree
	 */
	void enterCreateConstraint(ImpalaParser.CreateConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createConstraint}.
	 * @param ctx the parse tree
	 */
	void exitCreateConstraint(ImpalaParser.CreateConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterConstraintWithName}.
	 * @param ctx the parse tree
	 */
	void enterAlterConstraintWithName(ImpalaParser.AlterConstraintWithNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterConstraintWithName}.
	 * @param ctx the parse tree
	 */
	void exitAlterConstraintWithName(ImpalaParser.AlterConstraintWithNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#pkConstraint}.
	 * @param ctx the parse tree
	 */
	void enterPkConstraint(ImpalaParser.PkConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#pkConstraint}.
	 * @param ctx the parse tree
	 */
	void exitPkConstraint(ImpalaParser.PkConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#createForeignKey}.
	 * @param ctx the parse tree
	 */
	void enterCreateForeignKey(ImpalaParser.CreateForeignKeyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#createForeignKey}.
	 * @param ctx the parse tree
	 */
	void exitCreateForeignKey(ImpalaParser.CreateForeignKeyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterForeignKeyWithName}.
	 * @param ctx the parse tree
	 */
	void enterAlterForeignKeyWithName(ImpalaParser.AlterForeignKeyWithNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterForeignKeyWithName}.
	 * @param ctx the parse tree
	 */
	void exitAlterForeignKeyWithName(ImpalaParser.AlterForeignKeyWithNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedValueElement}.
	 * @param ctx the parse tree
	 */
	void enterSkewedValueElement(ImpalaParser.SkewedValueElementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedValueElement}.
	 * @param ctx the parse tree
	 */
	void exitSkewedValueElement(ImpalaParser.SkewedValueElementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedColumnValuePairList}.
	 * @param ctx the parse tree
	 */
	void enterSkewedColumnValuePairList(ImpalaParser.SkewedColumnValuePairListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedColumnValuePairList}.
	 * @param ctx the parse tree
	 */
	void exitSkewedColumnValuePairList(ImpalaParser.SkewedColumnValuePairListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedColumnValuePair}.
	 * @param ctx the parse tree
	 */
	void enterSkewedColumnValuePair(ImpalaParser.SkewedColumnValuePairContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedColumnValuePair}.
	 * @param ctx the parse tree
	 */
	void exitSkewedColumnValuePair(ImpalaParser.SkewedColumnValuePairContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedColumnValues}.
	 * @param ctx the parse tree
	 */
	void enterSkewedColumnValues(ImpalaParser.SkewedColumnValuesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedColumnValues}.
	 * @param ctx the parse tree
	 */
	void exitSkewedColumnValues(ImpalaParser.SkewedColumnValuesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedColumnValue}.
	 * @param ctx the parse tree
	 */
	void enterSkewedColumnValue(ImpalaParser.SkewedColumnValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedColumnValue}.
	 * @param ctx the parse tree
	 */
	void exitSkewedColumnValue(ImpalaParser.SkewedColumnValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#skewedValueLocationElement}.
	 * @param ctx the parse tree
	 */
	void enterSkewedValueLocationElement(ImpalaParser.SkewedValueLocationElementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#skewedValueLocationElement}.
	 * @param ctx the parse tree
	 */
	void exitSkewedValueLocationElement(ImpalaParser.SkewedValueLocationElementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#orderSpecification}.
	 * @param ctx the parse tree
	 */
	void enterOrderSpecification(ImpalaParser.OrderSpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#orderSpecification}.
	 * @param ctx the parse tree
	 */
	void exitOrderSpecification(ImpalaParser.OrderSpecificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#nullOrdering}.
	 * @param ctx the parse tree
	 */
	void enterNullOrdering(ImpalaParser.NullOrderingContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#nullOrdering}.
	 * @param ctx the parse tree
	 */
	void exitNullOrdering(ImpalaParser.NullOrderingContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameOrder}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameOrder(ImpalaParser.ColumnNameOrderContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameOrder}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameOrder(ImpalaParser.ColumnNameOrderContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameCommentList}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameCommentList(ImpalaParser.ColumnNameCommentListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameCommentList}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameCommentList(ImpalaParser.ColumnNameCommentListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameComment}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameComment(ImpalaParser.ColumnNameCommentContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameComment}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameComment(ImpalaParser.ColumnNameCommentContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnRefOrder}.
	 * @param ctx the parse tree
	 */
	void enterColumnRefOrder(ImpalaParser.ColumnRefOrderContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnRefOrder}.
	 * @param ctx the parse tree
	 */
	void exitColumnRefOrder(ImpalaParser.ColumnRefOrderContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameType}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameType(ImpalaParser.ColumnNameTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameType}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameType(ImpalaParser.ColumnNameTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameTypeOrConstraint}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameTypeOrConstraint(ImpalaParser.ColumnNameTypeOrConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameTypeOrConstraint}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameTypeOrConstraint(ImpalaParser.ColumnNameTypeOrConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableConstraint}.
	 * @param ctx the parse tree
	 */
	void enterTableConstraint(ImpalaParser.TableConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableConstraint}.
	 * @param ctx the parse tree
	 */
	void exitTableConstraint(ImpalaParser.TableConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameTypeConstraint}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameTypeConstraint(ImpalaParser.ColumnNameTypeConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameTypeConstraint}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameTypeConstraint(ImpalaParser.ColumnNameTypeConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnConstraint}.
	 * @param ctx the parse tree
	 */
	void enterColumnConstraint(ImpalaParser.ColumnConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnConstraint}.
	 * @param ctx the parse tree
	 */
	void exitColumnConstraint(ImpalaParser.ColumnConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#foreignKeyConstraint}.
	 * @param ctx the parse tree
	 */
	void enterForeignKeyConstraint(ImpalaParser.ForeignKeyConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#foreignKeyConstraint}.
	 * @param ctx the parse tree
	 */
	void exitForeignKeyConstraint(ImpalaParser.ForeignKeyConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#colConstraint}.
	 * @param ctx the parse tree
	 */
	void enterColConstraint(ImpalaParser.ColConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#colConstraint}.
	 * @param ctx the parse tree
	 */
	void exitColConstraint(ImpalaParser.ColConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterColumnConstraint}.
	 * @param ctx the parse tree
	 */
	void enterAlterColumnConstraint(ImpalaParser.AlterColumnConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterColumnConstraint}.
	 * @param ctx the parse tree
	 */
	void exitAlterColumnConstraint(ImpalaParser.AlterColumnConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterForeignKeyConstraint}.
	 * @param ctx the parse tree
	 */
	void enterAlterForeignKeyConstraint(ImpalaParser.AlterForeignKeyConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterForeignKeyConstraint}.
	 * @param ctx the parse tree
	 */
	void exitAlterForeignKeyConstraint(ImpalaParser.AlterForeignKeyConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#alterColConstraint}.
	 * @param ctx the parse tree
	 */
	void enterAlterColConstraint(ImpalaParser.AlterColConstraintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#alterColConstraint}.
	 * @param ctx the parse tree
	 */
	void exitAlterColConstraint(ImpalaParser.AlterColConstraintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableConstraintPrimaryKey}.
	 * @param ctx the parse tree
	 */
	void enterTableConstraintPrimaryKey(ImpalaParser.TableConstraintPrimaryKeyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableConstraintPrimaryKey}.
	 * @param ctx the parse tree
	 */
	void exitTableConstraintPrimaryKey(ImpalaParser.TableConstraintPrimaryKeyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#constraintOptsCreate}.
	 * @param ctx the parse tree
	 */
	void enterConstraintOptsCreate(ImpalaParser.ConstraintOptsCreateContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#constraintOptsCreate}.
	 * @param ctx the parse tree
	 */
	void exitConstraintOptsCreate(ImpalaParser.ConstraintOptsCreateContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#constraintOptsAlter}.
	 * @param ctx the parse tree
	 */
	void enterConstraintOptsAlter(ImpalaParser.ConstraintOptsAlterContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#constraintOptsAlter}.
	 * @param ctx the parse tree
	 */
	void exitConstraintOptsAlter(ImpalaParser.ConstraintOptsAlterContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnNameColonType}.
	 * @param ctx the parse tree
	 */
	void enterColumnNameColonType(ImpalaParser.ColumnNameColonTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnNameColonType}.
	 * @param ctx the parse tree
	 */
	void exitColumnNameColonType(ImpalaParser.ColumnNameColonTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#colType}.
	 * @param ctx the parse tree
	 */
	void enterColType(ImpalaParser.ColTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#colType}.
	 * @param ctx the parse tree
	 */
	void exitColType(ImpalaParser.ColTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#colTypeList}.
	 * @param ctx the parse tree
	 */
	void enterColTypeList(ImpalaParser.ColTypeListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#colTypeList}.
	 * @param ctx the parse tree
	 */
	void exitColTypeList(ImpalaParser.ColTypeListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#type_db_col}.
	 * @param ctx the parse tree
	 */
	void enterType_db_col(ImpalaParser.Type_db_colContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#type_db_col}.
	 * @param ctx the parse tree
	 */
	void exitType_db_col(ImpalaParser.Type_db_colContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#primitiveType}.
	 * @param ctx the parse tree
	 */
	void enterPrimitiveType(ImpalaParser.PrimitiveTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#primitiveType}.
	 * @param ctx the parse tree
	 */
	void exitPrimitiveType(ImpalaParser.PrimitiveTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#listType}.
	 * @param ctx the parse tree
	 */
	void enterListType(ImpalaParser.ListTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#listType}.
	 * @param ctx the parse tree
	 */
	void exitListType(ImpalaParser.ListTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#structType}.
	 * @param ctx the parse tree
	 */
	void enterStructType(ImpalaParser.StructTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#structType}.
	 * @param ctx the parse tree
	 */
	void exitStructType(ImpalaParser.StructTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#mapType}.
	 * @param ctx the parse tree
	 */
	void enterMapType(ImpalaParser.MapTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#mapType}.
	 * @param ctx the parse tree
	 */
	void exitMapType(ImpalaParser.MapTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#unionType}.
	 * @param ctx the parse tree
	 */
	void enterUnionType(ImpalaParser.UnionTypeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#unionType}.
	 * @param ctx the parse tree
	 */
	void exitUnionType(ImpalaParser.UnionTypeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setOperator}.
	 * @param ctx the parse tree
	 */
	void enterSetOperator(ImpalaParser.SetOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setOperator}.
	 * @param ctx the parse tree
	 */
	void exitSetOperator(ImpalaParser.SetOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#queryStatementExpression}.
	 * @param ctx the parse tree
	 */
	void enterQueryStatementExpression(ImpalaParser.QueryStatementExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#queryStatementExpression}.
	 * @param ctx the parse tree
	 */
	void exitQueryStatementExpression(ImpalaParser.QueryStatementExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#queryStatementExpressionBody}.
	 * @param ctx the parse tree
	 */
	void enterQueryStatementExpressionBody(ImpalaParser.QueryStatementExpressionBodyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#queryStatementExpressionBody}.
	 * @param ctx the parse tree
	 */
	void exitQueryStatementExpressionBody(ImpalaParser.QueryStatementExpressionBodyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#withClause}.
	 * @param ctx the parse tree
	 */
	void enterWithClause(ImpalaParser.WithClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#withClause}.
	 * @param ctx the parse tree
	 */
	void exitWithClause(ImpalaParser.WithClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#cteStatement}.
	 * @param ctx the parse tree
	 */
	void enterCteStatement(ImpalaParser.CteStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#cteStatement}.
	 * @param ctx the parse tree
	 */
	void exitCteStatement(ImpalaParser.CteStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#fromStatement}.
	 * @param ctx the parse tree
	 */
	void enterFromStatement(ImpalaParser.FromStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#fromStatement}.
	 * @param ctx the parse tree
	 */
	void exitFromStatement(ImpalaParser.FromStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#singleFromStatement}.
	 * @param ctx the parse tree
	 */
	void enterSingleFromStatement(ImpalaParser.SingleFromStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#singleFromStatement}.
	 * @param ctx the parse tree
	 */
	void exitSingleFromStatement(ImpalaParser.SingleFromStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#regularBody}.
	 * @param ctx the parse tree
	 */
	void enterRegularBody(ImpalaParser.RegularBodyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#regularBody}.
	 * @param ctx the parse tree
	 */
	void exitRegularBody(ImpalaParser.RegularBodyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#atomSelectStatement}.
	 * @param ctx the parse tree
	 */
	void enterAtomSelectStatement(ImpalaParser.AtomSelectStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#atomSelectStatement}.
	 * @param ctx the parse tree
	 */
	void exitAtomSelectStatement(ImpalaParser.AtomSelectStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectStatement}.
	 * @param ctx the parse tree
	 */
	void enterSelectStatement(ImpalaParser.SelectStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectStatement}.
	 * @param ctx the parse tree
	 */
	void exitSelectStatement(ImpalaParser.SelectStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setOpSelectStatement}.
	 * @param ctx the parse tree
	 */
	void enterSetOpSelectStatement(ImpalaParser.SetOpSelectStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setOpSelectStatement}.
	 * @param ctx the parse tree
	 */
	void exitSetOpSelectStatement(ImpalaParser.SetOpSelectStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectStatementWithCTE}.
	 * @param ctx the parse tree
	 */
	void enterSelectStatementWithCTE(ImpalaParser.SelectStatementWithCTEContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectStatementWithCTE}.
	 * @param ctx the parse tree
	 */
	void exitSelectStatementWithCTE(ImpalaParser.SelectStatementWithCTEContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#body}.
	 * @param ctx the parse tree
	 */
	void enterBody(ImpalaParser.BodyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#body}.
	 * @param ctx the parse tree
	 */
	void exitBody(ImpalaParser.BodyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#insertClause}.
	 * @param ctx the parse tree
	 */
	void enterInsertClause(ImpalaParser.InsertClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#insertClause}.
	 * @param ctx the parse tree
	 */
	void exitInsertClause(ImpalaParser.InsertClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#destination}.
	 * @param ctx the parse tree
	 */
	void enterDestination(ImpalaParser.DestinationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#destination}.
	 * @param ctx the parse tree
	 */
	void exitDestination(ImpalaParser.DestinationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#limitClause}.
	 * @param ctx the parse tree
	 */
	void enterLimitClause(ImpalaParser.LimitClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#limitClause}.
	 * @param ctx the parse tree
	 */
	void exitLimitClause(ImpalaParser.LimitClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#deleteStatement}.
	 * @param ctx the parse tree
	 */
	void enterDeleteStatement(ImpalaParser.DeleteStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#deleteStatement}.
	 * @param ctx the parse tree
	 */
	void exitDeleteStatement(ImpalaParser.DeleteStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnAssignmentClause}.
	 * @param ctx the parse tree
	 */
	void enterColumnAssignmentClause(ImpalaParser.ColumnAssignmentClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnAssignmentClause}.
	 * @param ctx the parse tree
	 */
	void exitColumnAssignmentClause(ImpalaParser.ColumnAssignmentClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setColumnsClause}.
	 * @param ctx the parse tree
	 */
	void enterSetColumnsClause(ImpalaParser.SetColumnsClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setColumnsClause}.
	 * @param ctx the parse tree
	 */
	void exitSetColumnsClause(ImpalaParser.SetColumnsClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#updateStatement}.
	 * @param ctx the parse tree
	 */
	void enterUpdateStatement(ImpalaParser.UpdateStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#updateStatement}.
	 * @param ctx the parse tree
	 */
	void exitUpdateStatement(ImpalaParser.UpdateStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#sqlTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void enterSqlTransactionStatement(ImpalaParser.SqlTransactionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#sqlTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void exitSqlTransactionStatement(ImpalaParser.SqlTransactionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#startTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void enterStartTransactionStatement(ImpalaParser.StartTransactionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#startTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void exitStartTransactionStatement(ImpalaParser.StartTransactionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#transactionMode}.
	 * @param ctx the parse tree
	 */
	void enterTransactionMode(ImpalaParser.TransactionModeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#transactionMode}.
	 * @param ctx the parse tree
	 */
	void exitTransactionMode(ImpalaParser.TransactionModeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#transactionAccessMode}.
	 * @param ctx the parse tree
	 */
	void enterTransactionAccessMode(ImpalaParser.TransactionAccessModeContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#transactionAccessMode}.
	 * @param ctx the parse tree
	 */
	void exitTransactionAccessMode(ImpalaParser.TransactionAccessModeContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#isolationLevel}.
	 * @param ctx the parse tree
	 */
	void enterIsolationLevel(ImpalaParser.IsolationLevelContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#isolationLevel}.
	 * @param ctx the parse tree
	 */
	void exitIsolationLevel(ImpalaParser.IsolationLevelContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#levelOfIsolation}.
	 * @param ctx the parse tree
	 */
	void enterLevelOfIsolation(ImpalaParser.LevelOfIsolationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#levelOfIsolation}.
	 * @param ctx the parse tree
	 */
	void exitLevelOfIsolation(ImpalaParser.LevelOfIsolationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#commitStatement}.
	 * @param ctx the parse tree
	 */
	void enterCommitStatement(ImpalaParser.CommitStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#commitStatement}.
	 * @param ctx the parse tree
	 */
	void exitCommitStatement(ImpalaParser.CommitStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rollbackStatement}.
	 * @param ctx the parse tree
	 */
	void enterRollbackStatement(ImpalaParser.RollbackStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rollbackStatement}.
	 * @param ctx the parse tree
	 */
	void exitRollbackStatement(ImpalaParser.RollbackStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#setAutoCommitStatement}.
	 * @param ctx the parse tree
	 */
	void enterSetAutoCommitStatement(ImpalaParser.SetAutoCommitStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#setAutoCommitStatement}.
	 * @param ctx the parse tree
	 */
	void exitSetAutoCommitStatement(ImpalaParser.SetAutoCommitStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#abortTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void enterAbortTransactionStatement(ImpalaParser.AbortTransactionStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#abortTransactionStatement}.
	 * @param ctx the parse tree
	 */
	void exitAbortTransactionStatement(ImpalaParser.AbortTransactionStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#mergeStatement}.
	 * @param ctx the parse tree
	 */
	void enterMergeStatement(ImpalaParser.MergeStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#mergeStatement}.
	 * @param ctx the parse tree
	 */
	void exitMergeStatement(ImpalaParser.MergeStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whenClauses}.
	 * @param ctx the parse tree
	 */
	void enterWhenClauses(ImpalaParser.WhenClausesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whenClauses}.
	 * @param ctx the parse tree
	 */
	void exitWhenClauses(ImpalaParser.WhenClausesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whenNotMatchedClause}.
	 * @param ctx the parse tree
	 */
	void enterWhenNotMatchedClause(ImpalaParser.WhenNotMatchedClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whenNotMatchedClause}.
	 * @param ctx the parse tree
	 */
	void exitWhenNotMatchedClause(ImpalaParser.WhenNotMatchedClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whenMatchedAndClause}.
	 * @param ctx the parse tree
	 */
	void enterWhenMatchedAndClause(ImpalaParser.WhenMatchedAndClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whenMatchedAndClause}.
	 * @param ctx the parse tree
	 */
	void exitWhenMatchedAndClause(ImpalaParser.WhenMatchedAndClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whenMatchedThenClause}.
	 * @param ctx the parse tree
	 */
	void enterWhenMatchedThenClause(ImpalaParser.WhenMatchedThenClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whenMatchedThenClause}.
	 * @param ctx the parse tree
	 */
	void exitWhenMatchedThenClause(ImpalaParser.WhenMatchedThenClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#updateOrDelete}.
	 * @param ctx the parse tree
	 */
	void enterUpdateOrDelete(ImpalaParser.UpdateOrDeleteContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#updateOrDelete}.
	 * @param ctx the parse tree
	 */
	void exitUpdateOrDelete(ImpalaParser.UpdateOrDeleteContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#killQueryStatement}.
	 * @param ctx the parse tree
	 */
	void enterKillQueryStatement(ImpalaParser.KillQueryStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#killQueryStatement}.
	 * @param ctx the parse tree
	 */
	void exitKillQueryStatement(ImpalaParser.KillQueryStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupByClause}.
	 * @param ctx the parse tree
	 */
	void enterGroupByClause(ImpalaParser.GroupByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupByClause}.
	 * @param ctx the parse tree
	 */
	void exitGroupByClause(ImpalaParser.GroupByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupby_expression}.
	 * @param ctx the parse tree
	 */
	void enterGroupby_expression(ImpalaParser.Groupby_expressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupby_expression}.
	 * @param ctx the parse tree
	 */
	void exitGroupby_expression(ImpalaParser.Groupby_expressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupByEmpty}.
	 * @param ctx the parse tree
	 */
	void enterGroupByEmpty(ImpalaParser.GroupByEmptyContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupByEmpty}.
	 * @param ctx the parse tree
	 */
	void exitGroupByEmpty(ImpalaParser.GroupByEmptyContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rollupStandard}.
	 * @param ctx the parse tree
	 */
	void enterRollupStandard(ImpalaParser.RollupStandardContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rollupStandard}.
	 * @param ctx the parse tree
	 */
	void exitRollupStandard(ImpalaParser.RollupStandardContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#rollupOldSyntax}.
	 * @param ctx the parse tree
	 */
	void enterRollupOldSyntax(ImpalaParser.RollupOldSyntaxContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#rollupOldSyntax}.
	 * @param ctx the parse tree
	 */
	void exitRollupOldSyntax(ImpalaParser.RollupOldSyntaxContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupingSetExpression}.
	 * @param ctx the parse tree
	 */
	void enterGroupingSetExpression(ImpalaParser.GroupingSetExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupingSetExpression}.
	 * @param ctx the parse tree
	 */
	void exitGroupingSetExpression(ImpalaParser.GroupingSetExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupingSetExpressionMultiple}.
	 * @param ctx the parse tree
	 */
	void enterGroupingSetExpressionMultiple(ImpalaParser.GroupingSetExpressionMultipleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupingSetExpressionMultiple}.
	 * @param ctx the parse tree
	 */
	void exitGroupingSetExpressionMultiple(ImpalaParser.GroupingSetExpressionMultipleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#groupingExpressionSingle}.
	 * @param ctx the parse tree
	 */
	void enterGroupingExpressionSingle(ImpalaParser.GroupingExpressionSingleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#groupingExpressionSingle}.
	 * @param ctx the parse tree
	 */
	void exitGroupingExpressionSingle(ImpalaParser.GroupingExpressionSingleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#havingClause}.
	 * @param ctx the parse tree
	 */
	void enterHavingClause(ImpalaParser.HavingClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#havingClause}.
	 * @param ctx the parse tree
	 */
	void exitHavingClause(ImpalaParser.HavingClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#havingCondition}.
	 * @param ctx the parse tree
	 */
	void enterHavingCondition(ImpalaParser.HavingConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#havingCondition}.
	 * @param ctx the parse tree
	 */
	void exitHavingCondition(ImpalaParser.HavingConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expressionsInParenthesis}.
	 * @param ctx the parse tree
	 */
	void enterExpressionsInParenthesis(ImpalaParser.ExpressionsInParenthesisContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expressionsInParenthesis}.
	 * @param ctx the parse tree
	 */
	void exitExpressionsInParenthesis(ImpalaParser.ExpressionsInParenthesisContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expressionsNotInParenthesis}.
	 * @param ctx the parse tree
	 */
	void enterExpressionsNotInParenthesis(ImpalaParser.ExpressionsNotInParenthesisContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expressionsNotInParenthesis}.
	 * @param ctx the parse tree
	 */
	void exitExpressionsNotInParenthesis(ImpalaParser.ExpressionsNotInParenthesisContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expressionPart}.
	 * @param ctx the parse tree
	 */
	void enterExpressionPart(ImpalaParser.ExpressionPartContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expressionPart}.
	 * @param ctx the parse tree
	 */
	void exitExpressionPart(ImpalaParser.ExpressionPartContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expressions}.
	 * @param ctx the parse tree
	 */
	void enterExpressions(ImpalaParser.ExpressionsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expressions}.
	 * @param ctx the parse tree
	 */
	void exitExpressions(ImpalaParser.ExpressionsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnRefOrderInParenthesis}.
	 * @param ctx the parse tree
	 */
	void enterColumnRefOrderInParenthesis(ImpalaParser.ColumnRefOrderInParenthesisContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnRefOrderInParenthesis}.
	 * @param ctx the parse tree
	 */
	void exitColumnRefOrderInParenthesis(ImpalaParser.ColumnRefOrderInParenthesisContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#columnRefOrderNotInParenthesis}.
	 * @param ctx the parse tree
	 */
	void enterColumnRefOrderNotInParenthesis(ImpalaParser.ColumnRefOrderNotInParenthesisContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#columnRefOrderNotInParenthesis}.
	 * @param ctx the parse tree
	 */
	void exitColumnRefOrderNotInParenthesis(ImpalaParser.ColumnRefOrderNotInParenthesisContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#orderByClause}.
	 * @param ctx the parse tree
	 */
	void enterOrderByClause(ImpalaParser.OrderByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#orderByClause}.
	 * @param ctx the parse tree
	 */
	void exitOrderByClause(ImpalaParser.OrderByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#clusterByClause}.
	 * @param ctx the parse tree
	 */
	void enterClusterByClause(ImpalaParser.ClusterByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#clusterByClause}.
	 * @param ctx the parse tree
	 */
	void exitClusterByClause(ImpalaParser.ClusterByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionByClause}.
	 * @param ctx the parse tree
	 */
	void enterPartitionByClause(ImpalaParser.PartitionByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionByClause}.
	 * @param ctx the parse tree
	 */
	void exitPartitionByClause(ImpalaParser.PartitionByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#distributeByClause}.
	 * @param ctx the parse tree
	 */
	void enterDistributeByClause(ImpalaParser.DistributeByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#distributeByClause}.
	 * @param ctx the parse tree
	 */
	void exitDistributeByClause(ImpalaParser.DistributeByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#sortByClause}.
	 * @param ctx the parse tree
	 */
	void enterSortByClause(ImpalaParser.SortByClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#sortByClause}.
	 * @param ctx the parse tree
	 */
	void exitSortByClause(ImpalaParser.SortByClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#function}.
	 * @param ctx the parse tree
	 */
	void enterFunction(ImpalaParser.FunctionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#function}.
	 * @param ctx the parse tree
	 */
	void exitFunction(ImpalaParser.FunctionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#functionName}.
	 * @param ctx the parse tree
	 */
	void enterFunctionName(ImpalaParser.FunctionNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#functionName}.
	 * @param ctx the parse tree
	 */
	void exitFunctionName(ImpalaParser.FunctionNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#castExpression}.
	 * @param ctx the parse tree
	 */
	void enterCastExpression(ImpalaParser.CastExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#castExpression}.
	 * @param ctx the parse tree
	 */
	void exitCastExpression(ImpalaParser.CastExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#caseExpression}.
	 * @param ctx the parse tree
	 */
	void enterCaseExpression(ImpalaParser.CaseExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#caseExpression}.
	 * @param ctx the parse tree
	 */
	void exitCaseExpression(ImpalaParser.CaseExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whenExpression}.
	 * @param ctx the parse tree
	 */
	void enterWhenExpression(ImpalaParser.WhenExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whenExpression}.
	 * @param ctx the parse tree
	 */
	void exitWhenExpression(ImpalaParser.WhenExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#floorExpression}.
	 * @param ctx the parse tree
	 */
	void enterFloorExpression(ImpalaParser.FloorExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#floorExpression}.
	 * @param ctx the parse tree
	 */
	void exitFloorExpression(ImpalaParser.FloorExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#floorDateQualifiers}.
	 * @param ctx the parse tree
	 */
	void enterFloorDateQualifiers(ImpalaParser.FloorDateQualifiersContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#floorDateQualifiers}.
	 * @param ctx the parse tree
	 */
	void exitFloorDateQualifiers(ImpalaParser.FloorDateQualifiersContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#extractExpression}.
	 * @param ctx the parse tree
	 */
	void enterExtractExpression(ImpalaParser.ExtractExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#extractExpression}.
	 * @param ctx the parse tree
	 */
	void exitExtractExpression(ImpalaParser.ExtractExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#timeQualifiers}.
	 * @param ctx the parse tree
	 */
	void enterTimeQualifiers(ImpalaParser.TimeQualifiersContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#timeQualifiers}.
	 * @param ctx the parse tree
	 */
	void exitTimeQualifiers(ImpalaParser.TimeQualifiersContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#constant}.
	 * @param ctx the parse tree
	 */
	void enterConstant(ImpalaParser.ConstantContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#constant}.
	 * @param ctx the parse tree
	 */
	void exitConstant(ImpalaParser.ConstantContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#stringLiteralSequence}.
	 * @param ctx the parse tree
	 */
	void enterStringLiteralSequence(ImpalaParser.StringLiteralSequenceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#stringLiteralSequence}.
	 * @param ctx the parse tree
	 */
	void exitStringLiteralSequence(ImpalaParser.StringLiteralSequenceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#charSetStringLiteral}.
	 * @param ctx the parse tree
	 */
	void enterCharSetStringLiteral(ImpalaParser.CharSetStringLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#charSetStringLiteral}.
	 * @param ctx the parse tree
	 */
	void exitCharSetStringLiteral(ImpalaParser.CharSetStringLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dateLiteral}.
	 * @param ctx the parse tree
	 */
	void enterDateLiteral(ImpalaParser.DateLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dateLiteral}.
	 * @param ctx the parse tree
	 */
	void exitDateLiteral(ImpalaParser.DateLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#timestampLiteral}.
	 * @param ctx the parse tree
	 */
	void enterTimestampLiteral(ImpalaParser.TimestampLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#timestampLiteral}.
	 * @param ctx the parse tree
	 */
	void exitTimestampLiteral(ImpalaParser.TimestampLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#timestampLocalTZLiteral}.
	 * @param ctx the parse tree
	 */
	void enterTimestampLocalTZLiteral(ImpalaParser.TimestampLocalTZLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#timestampLocalTZLiteral}.
	 * @param ctx the parse tree
	 */
	void exitTimestampLocalTZLiteral(ImpalaParser.TimestampLocalTZLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#intervalValue}.
	 * @param ctx the parse tree
	 */
	void enterIntervalValue(ImpalaParser.IntervalValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#intervalValue}.
	 * @param ctx the parse tree
	 */
	void exitIntervalValue(ImpalaParser.IntervalValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#intervalLiteral}.
	 * @param ctx the parse tree
	 */
	void enterIntervalLiteral(ImpalaParser.IntervalLiteralContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#intervalLiteral}.
	 * @param ctx the parse tree
	 */
	void exitIntervalLiteral(ImpalaParser.IntervalLiteralContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#intervalExpression}.
	 * @param ctx the parse tree
	 */
	void enterIntervalExpression(ImpalaParser.IntervalExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#intervalExpression}.
	 * @param ctx the parse tree
	 */
	void exitIntervalExpression(ImpalaParser.IntervalExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#intervalQualifiers}.
	 * @param ctx the parse tree
	 */
	void enterIntervalQualifiers(ImpalaParser.IntervalQualifiersContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#intervalQualifiers}.
	 * @param ctx the parse tree
	 */
	void exitIntervalQualifiers(ImpalaParser.IntervalQualifiersContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#atomExpression}.
	 * @param ctx the parse tree
	 */
	void enterAtomExpression(ImpalaParser.AtomExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#atomExpression}.
	 * @param ctx the parse tree
	 */
	void exitAtomExpression(ImpalaParser.AtomExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceUnaryOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceUnaryOperator(ImpalaParser.PrecedenceUnaryOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceUnaryOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceUnaryOperator(ImpalaParser.PrecedenceUnaryOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#isCondition}.
	 * @param ctx the parse tree
	 */
	void enterIsCondition(ImpalaParser.IsConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#isCondition}.
	 * @param ctx the parse tree
	 */
	void exitIsCondition(ImpalaParser.IsConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceBitwiseXorOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceBitwiseXorOperator(ImpalaParser.PrecedenceBitwiseXorOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceBitwiseXorOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceBitwiseXorOperator(ImpalaParser.PrecedenceBitwiseXorOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceStarOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceStarOperator(ImpalaParser.PrecedenceStarOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceStarOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceStarOperator(ImpalaParser.PrecedenceStarOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedencePlusOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedencePlusOperator(ImpalaParser.PrecedencePlusOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedencePlusOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedencePlusOperator(ImpalaParser.PrecedencePlusOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceConcatenateOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceConcatenateOperator(ImpalaParser.PrecedenceConcatenateOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceConcatenateOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceConcatenateOperator(ImpalaParser.PrecedenceConcatenateOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceAmpersandOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceAmpersandOperator(ImpalaParser.PrecedenceAmpersandOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceAmpersandOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceAmpersandOperator(ImpalaParser.PrecedenceAmpersandOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceBitwiseOrOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceBitwiseOrOperator(ImpalaParser.PrecedenceBitwiseOrOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceBitwiseOrOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceBitwiseOrOperator(ImpalaParser.PrecedenceBitwiseOrOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceRegexpOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceRegexpOperator(ImpalaParser.PrecedenceRegexpOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceRegexpOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceRegexpOperator(ImpalaParser.PrecedenceRegexpOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceComparisonOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceComparisonOperator(ImpalaParser.PrecedenceComparisonOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceComparisonOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceComparisonOperator(ImpalaParser.PrecedenceComparisonOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceNotOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceNotOperator(ImpalaParser.PrecedenceNotOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceNotOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceNotOperator(ImpalaParser.PrecedenceNotOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceLogicOperator}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceLogicOperator(ImpalaParser.PrecedenceLogicOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceLogicOperator}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceLogicOperator(ImpalaParser.PrecedenceLogicOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expression}.
	 * @param ctx the parse tree
	 */
	void enterExpression(ImpalaParser.ExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expression}.
	 * @param ctx the parse tree
	 */
	void exitExpression(ImpalaParser.ExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceExpression}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceExpression(ImpalaParser.PrecedenceExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceExpression}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceExpression(ImpalaParser.PrecedenceExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#precedenceSimilarExpressionIn}.
	 * @param ctx the parse tree
	 */
	void enterPrecedenceSimilarExpressionIn(ImpalaParser.PrecedenceSimilarExpressionInContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#precedenceSimilarExpressionIn}.
	 * @param ctx the parse tree
	 */
	void exitPrecedenceSimilarExpressionIn(ImpalaParser.PrecedenceSimilarExpressionInContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#subQueryExpression}.
	 * @param ctx the parse tree
	 */
	void enterSubQueryExpression(ImpalaParser.SubQueryExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#subQueryExpression}.
	 * @param ctx the parse tree
	 */
	void exitSubQueryExpression(ImpalaParser.SubQueryExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#booleanValue}.
	 * @param ctx the parse tree
	 */
	void enterBooleanValue(ImpalaParser.BooleanValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#booleanValue}.
	 * @param ctx the parse tree
	 */
	void exitBooleanValue(ImpalaParser.BooleanValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#booleanValueTok}.
	 * @param ctx the parse tree
	 */
	void enterBooleanValueTok(ImpalaParser.BooleanValueTokContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#booleanValueTok}.
	 * @param ctx the parse tree
	 */
	void exitBooleanValueTok(ImpalaParser.BooleanValueTokContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableOrPartition}.
	 * @param ctx the parse tree
	 */
	void enterTableOrPartition(ImpalaParser.TableOrPartitionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableOrPartition}.
	 * @param ctx the parse tree
	 */
	void exitTableOrPartition(ImpalaParser.TableOrPartitionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionSpec}.
	 * @param ctx the parse tree
	 */
	void enterPartitionSpec(ImpalaParser.PartitionSpecContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionSpec}.
	 * @param ctx the parse tree
	 */
	void exitPartitionSpec(ImpalaParser.PartitionSpecContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionVal}.
	 * @param ctx the parse tree
	 */
	void enterPartitionVal(ImpalaParser.PartitionValContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionVal}.
	 * @param ctx the parse tree
	 */
	void exitPartitionVal(ImpalaParser.PartitionValContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropPartitionSpec}.
	 * @param ctx the parse tree
	 */
	void enterDropPartitionSpec(ImpalaParser.DropPartitionSpecContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropPartitionSpec}.
	 * @param ctx the parse tree
	 */
	void exitDropPartitionSpec(ImpalaParser.DropPartitionSpecContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionSpecLogicOperator}.
	 * @param ctx the parse tree
	 */
	void enterPartitionSpecLogicOperator(ImpalaParser.PartitionSpecLogicOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionSpecLogicOperator}.
	 * @param ctx the parse tree
	 */
	void exitPartitionSpecLogicOperator(ImpalaParser.PartitionSpecLogicOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropPartitionVal}.
	 * @param ctx the parse tree
	 */
	void enterDropPartitionVal(ImpalaParser.DropPartitionValContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropPartitionVal}.
	 * @param ctx the parse tree
	 */
	void exitDropPartitionVal(ImpalaParser.DropPartitionValContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#dropPartitionOperator}.
	 * @param ctx the parse tree
	 */
	void enterDropPartitionOperator(ImpalaParser.DropPartitionOperatorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#dropPartitionOperator}.
	 * @param ctx the parse tree
	 */
	void exitDropPartitionOperator(ImpalaParser.DropPartitionOperatorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#sysFuncNames}.
	 * @param ctx the parse tree
	 */
	void enterSysFuncNames(ImpalaParser.SysFuncNamesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#sysFuncNames}.
	 * @param ctx the parse tree
	 */
	void exitSysFuncNames(ImpalaParser.SysFuncNamesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#descFuncNames}.
	 * @param ctx the parse tree
	 */
	void enterDescFuncNames(ImpalaParser.DescFuncNamesContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#descFuncNames}.
	 * @param ctx the parse tree
	 */
	void exitDescFuncNames(ImpalaParser.DescFuncNamesContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#identifier}.
	 * @param ctx the parse tree
	 */
	void enterIdentifier(ImpalaParser.IdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#identifier}.
	 * @param ctx the parse tree
	 */
	void exitIdentifier(ImpalaParser.IdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#functionIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterFunctionIdentifier(ImpalaParser.FunctionIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#functionIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitFunctionIdentifier(ImpalaParser.FunctionIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#principalIdentifier}.
	 * @param ctx the parse tree
	 */
	void enterPrincipalIdentifier(ImpalaParser.PrincipalIdentifierContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#principalIdentifier}.
	 * @param ctx the parse tree
	 */
	void exitPrincipalIdentifier(ImpalaParser.PrincipalIdentifierContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#nonReserved}.
	 * @param ctx the parse tree
	 */
	void enterNonReserved(ImpalaParser.NonReservedContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#nonReserved}.
	 * @param ctx the parse tree
	 */
	void exitNonReserved(ImpalaParser.NonReservedContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#sql11ReservedKeywordsUsedAsFunctionName}.
	 * @param ctx the parse tree
	 */
	void enterSql11ReservedKeywordsUsedAsFunctionName(ImpalaParser.Sql11ReservedKeywordsUsedAsFunctionNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#sql11ReservedKeywordsUsedAsFunctionName}.
	 * @param ctx the parse tree
	 */
	void exitSql11ReservedKeywordsUsedAsFunctionName(ImpalaParser.Sql11ReservedKeywordsUsedAsFunctionNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectClause}.
	 * @param ctx the parse tree
	 */
	void enterSelectClause(ImpalaParser.SelectClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectClause}.
	 * @param ctx the parse tree
	 */
	void exitSelectClause(ImpalaParser.SelectClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectList}.
	 * @param ctx the parse tree
	 */
	void enterSelectList(ImpalaParser.SelectListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectList}.
	 * @param ctx the parse tree
	 */
	void exitSelectList(ImpalaParser.SelectListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectTrfmClause}.
	 * @param ctx the parse tree
	 */
	void enterSelectTrfmClause(ImpalaParser.SelectTrfmClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectTrfmClause}.
	 * @param ctx the parse tree
	 */
	void exitSelectTrfmClause(ImpalaParser.SelectTrfmClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectItem}.
	 * @param ctx the parse tree
	 */
	void enterSelectItem(ImpalaParser.SelectItemContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectItem}.
	 * @param ctx the parse tree
	 */
	void exitSelectItem(ImpalaParser.SelectItemContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#trfmClause}.
	 * @param ctx the parse tree
	 */
	void enterTrfmClause(ImpalaParser.TrfmClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#trfmClause}.
	 * @param ctx the parse tree
	 */
	void exitTrfmClause(ImpalaParser.TrfmClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectExpression}.
	 * @param ctx the parse tree
	 */
	void enterSelectExpression(ImpalaParser.SelectExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectExpression}.
	 * @param ctx the parse tree
	 */
	void exitSelectExpression(ImpalaParser.SelectExpressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#selectExpressionList}.
	 * @param ctx the parse tree
	 */
	void enterSelectExpressionList(ImpalaParser.SelectExpressionListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#selectExpressionList}.
	 * @param ctx the parse tree
	 */
	void exitSelectExpressionList(ImpalaParser.SelectExpressionListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_clause}.
	 * @param ctx the parse tree
	 */
	void enterWindow_clause(ImpalaParser.Window_clauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_clause}.
	 * @param ctx the parse tree
	 */
	void exitWindow_clause(ImpalaParser.Window_clauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_defn}.
	 * @param ctx the parse tree
	 */
	void enterWindow_defn(ImpalaParser.Window_defnContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_defn}.
	 * @param ctx the parse tree
	 */
	void exitWindow_defn(ImpalaParser.Window_defnContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_specification}.
	 * @param ctx the parse tree
	 */
	void enterWindow_specification(ImpalaParser.Window_specificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_specification}.
	 * @param ctx the parse tree
	 */
	void exitWindow_specification(ImpalaParser.Window_specificationContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_frame}.
	 * @param ctx the parse tree
	 */
	void enterWindow_frame(ImpalaParser.Window_frameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_frame}.
	 * @param ctx the parse tree
	 */
	void exitWindow_frame(ImpalaParser.Window_frameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_range_expression}.
	 * @param ctx the parse tree
	 */
	void enterWindow_range_expression(ImpalaParser.Window_range_expressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_range_expression}.
	 * @param ctx the parse tree
	 */
	void exitWindow_range_expression(ImpalaParser.Window_range_expressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_value_expression}.
	 * @param ctx the parse tree
	 */
	void enterWindow_value_expression(ImpalaParser.Window_value_expressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_value_expression}.
	 * @param ctx the parse tree
	 */
	void exitWindow_value_expression(ImpalaParser.Window_value_expressionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_frame_start_boundary}.
	 * @param ctx the parse tree
	 */
	void enterWindow_frame_start_boundary(ImpalaParser.Window_frame_start_boundaryContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_frame_start_boundary}.
	 * @param ctx the parse tree
	 */
	void exitWindow_frame_start_boundary(ImpalaParser.Window_frame_start_boundaryContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#window_frame_boundary}.
	 * @param ctx the parse tree
	 */
	void enterWindow_frame_boundary(ImpalaParser.Window_frame_boundaryContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#window_frame_boundary}.
	 * @param ctx the parse tree
	 */
	void exitWindow_frame_boundary(ImpalaParser.Window_frame_boundaryContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableAllColumns}.
	 * @param ctx the parse tree
	 */
	void enterTableAllColumns(ImpalaParser.TableAllColumnsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableAllColumns}.
	 * @param ctx the parse tree
	 */
	void exitTableAllColumns(ImpalaParser.TableAllColumnsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableOrColumn}.
	 * @param ctx the parse tree
	 */
	void enterTableOrColumn(ImpalaParser.TableOrColumnContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableOrColumn}.
	 * @param ctx the parse tree
	 */
	void exitTableOrColumn(ImpalaParser.TableOrColumnContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void enterExpressionList(ImpalaParser.ExpressionListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#expressionList}.
	 * @param ctx the parse tree
	 */
	void exitExpressionList(ImpalaParser.ExpressionListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#aliasList}.
	 * @param ctx the parse tree
	 */
	void enterAliasList(ImpalaParser.AliasListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#aliasList}.
	 * @param ctx the parse tree
	 */
	void exitAliasList(ImpalaParser.AliasListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#fromClause}.
	 * @param ctx the parse tree
	 */
	void enterFromClause(ImpalaParser.FromClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#fromClause}.
	 * @param ctx the parse tree
	 */
	void exitFromClause(ImpalaParser.FromClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#fromSource}.
	 * @param ctx the parse tree
	 */
	void enterFromSource(ImpalaParser.FromSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#fromSource}.
	 * @param ctx the parse tree
	 */
	void exitFromSource(ImpalaParser.FromSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#atomjoinSource}.
	 * @param ctx the parse tree
	 */
	void enterAtomjoinSource(ImpalaParser.AtomjoinSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#atomjoinSource}.
	 * @param ctx the parse tree
	 */
	void exitAtomjoinSource(ImpalaParser.AtomjoinSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#joinSource}.
	 * @param ctx the parse tree
	 */
	void enterJoinSource(ImpalaParser.JoinSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#joinSource}.
	 * @param ctx the parse tree
	 */
	void exitJoinSource(ImpalaParser.JoinSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#joinSourcePart}.
	 * @param ctx the parse tree
	 */
	void enterJoinSourcePart(ImpalaParser.JoinSourcePartContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#joinSourcePart}.
	 * @param ctx the parse tree
	 */
	void exitJoinSourcePart(ImpalaParser.JoinSourcePartContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#uniqueJoinSource}.
	 * @param ctx the parse tree
	 */
	void enterUniqueJoinSource(ImpalaParser.UniqueJoinSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#uniqueJoinSource}.
	 * @param ctx the parse tree
	 */
	void exitUniqueJoinSource(ImpalaParser.UniqueJoinSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#uniqueJoinExpr}.
	 * @param ctx the parse tree
	 */
	void enterUniqueJoinExpr(ImpalaParser.UniqueJoinExprContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#uniqueJoinExpr}.
	 * @param ctx the parse tree
	 */
	void exitUniqueJoinExpr(ImpalaParser.UniqueJoinExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#uniqueJoinToken}.
	 * @param ctx the parse tree
	 */
	void enterUniqueJoinToken(ImpalaParser.UniqueJoinTokenContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#uniqueJoinToken}.
	 * @param ctx the parse tree
	 */
	void exitUniqueJoinToken(ImpalaParser.UniqueJoinTokenContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#joinToken}.
	 * @param ctx the parse tree
	 */
	void enterJoinToken(ImpalaParser.JoinTokenContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#joinToken}.
	 * @param ctx the parse tree
	 */
	void exitJoinToken(ImpalaParser.JoinTokenContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#lateralView}.
	 * @param ctx the parse tree
	 */
	void enterLateralView(ImpalaParser.LateralViewContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#lateralView}.
	 * @param ctx the parse tree
	 */
	void exitLateralView(ImpalaParser.LateralViewContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableAlias}.
	 * @param ctx the parse tree
	 */
	void enterTableAlias(ImpalaParser.TableAliasContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableAlias}.
	 * @param ctx the parse tree
	 */
	void exitTableAlias(ImpalaParser.TableAliasContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableBucketSample}.
	 * @param ctx the parse tree
	 */
	void enterTableBucketSample(ImpalaParser.TableBucketSampleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableBucketSample}.
	 * @param ctx the parse tree
	 */
	void exitTableBucketSample(ImpalaParser.TableBucketSampleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#splitSample}.
	 * @param ctx the parse tree
	 */
	void enterSplitSample(ImpalaParser.SplitSampleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#splitSample}.
	 * @param ctx the parse tree
	 */
	void exitSplitSample(ImpalaParser.SplitSampleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableSample}.
	 * @param ctx the parse tree
	 */
	void enterTableSample(ImpalaParser.TableSampleContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableSample}.
	 * @param ctx the parse tree
	 */
	void exitTableSample(ImpalaParser.TableSampleContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableSource}.
	 * @param ctx the parse tree
	 */
	void enterTableSource(ImpalaParser.TableSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableSource}.
	 * @param ctx the parse tree
	 */
	void exitTableSource(ImpalaParser.TableSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#uniqueJoinTableSource}.
	 * @param ctx the parse tree
	 */
	void enterUniqueJoinTableSource(ImpalaParser.UniqueJoinTableSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#uniqueJoinTableSource}.
	 * @param ctx the parse tree
	 */
	void exitUniqueJoinTableSource(ImpalaParser.UniqueJoinTableSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableName}.
	 * @param ctx the parse tree
	 */
	void enterTableName(ImpalaParser.TableNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableName}.
	 * @param ctx the parse tree
	 */
	void exitTableName(ImpalaParser.TableNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#viewName}.
	 * @param ctx the parse tree
	 */
	void enterViewName(ImpalaParser.ViewNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#viewName}.
	 * @param ctx the parse tree
	 */
	void exitViewName(ImpalaParser.ViewNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#subQuerySource}.
	 * @param ctx the parse tree
	 */
	void enterSubQuerySource(ImpalaParser.SubQuerySourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#subQuerySource}.
	 * @param ctx the parse tree
	 */
	void exitSubQuerySource(ImpalaParser.SubQuerySourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitioningSpec}.
	 * @param ctx the parse tree
	 */
	void enterPartitioningSpec(ImpalaParser.PartitioningSpecContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitioningSpec}.
	 * @param ctx the parse tree
	 */
	void exitPartitioningSpec(ImpalaParser.PartitioningSpecContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionTableFunctionSource}.
	 * @param ctx the parse tree
	 */
	void enterPartitionTableFunctionSource(ImpalaParser.PartitionTableFunctionSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionTableFunctionSource}.
	 * @param ctx the parse tree
	 */
	void exitPartitionTableFunctionSource(ImpalaParser.PartitionTableFunctionSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionedTableFunction}.
	 * @param ctx the parse tree
	 */
	void enterPartitionedTableFunction(ImpalaParser.PartitionedTableFunctionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionedTableFunction}.
	 * @param ctx the parse tree
	 */
	void exitPartitionedTableFunction(ImpalaParser.PartitionedTableFunctionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#whereClause}.
	 * @param ctx the parse tree
	 */
	void enterWhereClause(ImpalaParser.WhereClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#whereClause}.
	 * @param ctx the parse tree
	 */
	void exitWhereClause(ImpalaParser.WhereClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#searchCondition}.
	 * @param ctx the parse tree
	 */
	void enterSearchCondition(ImpalaParser.SearchConditionContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#searchCondition}.
	 * @param ctx the parse tree
	 */
	void exitSearchCondition(ImpalaParser.SearchConditionContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#valuesClause}.
	 * @param ctx the parse tree
	 */
	void enterValuesClause(ImpalaParser.ValuesClauseContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#valuesClause}.
	 * @param ctx the parse tree
	 */
	void exitValuesClause(ImpalaParser.ValuesClauseContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#valuesTableConstructor}.
	 * @param ctx the parse tree
	 */
	void enterValuesTableConstructor(ImpalaParser.ValuesTableConstructorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#valuesTableConstructor}.
	 * @param ctx the parse tree
	 */
	void exitValuesTableConstructor(ImpalaParser.ValuesTableConstructorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#valueRowConstructor}.
	 * @param ctx the parse tree
	 */
	void enterValueRowConstructor(ImpalaParser.ValueRowConstructorContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#valueRowConstructor}.
	 * @param ctx the parse tree
	 */
	void exitValueRowConstructor(ImpalaParser.ValueRowConstructorContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#virtualTableSource}.
	 * @param ctx the parse tree
	 */
	void enterVirtualTableSource(ImpalaParser.VirtualTableSourceContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#virtualTableSource}.
	 * @param ctx the parse tree
	 */
	void exitVirtualTableSource(ImpalaParser.VirtualTableSourceContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hint}.
	 * @param ctx the parse tree
	 */
	void enterHint(ImpalaParser.HintContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hint}.
	 * @param ctx the parse tree
	 */
	void exitHint(ImpalaParser.HintContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hintList}.
	 * @param ctx the parse tree
	 */
	void enterHintList(ImpalaParser.HintListContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hintList}.
	 * @param ctx the parse tree
	 */
	void exitHintList(ImpalaParser.HintListContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hintItem}.
	 * @param ctx the parse tree
	 */
	void enterHintItem(ImpalaParser.HintItemContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hintItem}.
	 * @param ctx the parse tree
	 */
	void exitHintItem(ImpalaParser.HintItemContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hintName}.
	 * @param ctx the parse tree
	 */
	void enterHintName(ImpalaParser.HintNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hintName}.
	 * @param ctx the parse tree
	 */
	void exitHintName(ImpalaParser.HintNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hintArgs}.
	 * @param ctx the parse tree
	 */
	void enterHintArgs(ImpalaParser.HintArgsContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hintArgs}.
	 * @param ctx the parse tree
	 */
	void exitHintArgs(ImpalaParser.HintArgsContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#hintArgName}.
	 * @param ctx the parse tree
	 */
	void enterHintArgName(ImpalaParser.HintArgNameContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#hintArgName}.
	 * @param ctx the parse tree
	 */
	void exitHintArgName(ImpalaParser.HintArgNameContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#custom_variable_impala}.
	 * @param ctx the parse tree
	 */
	void enterCustom_variable_impala(ImpalaParser.Custom_variable_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#custom_variable_impala}.
	 * @param ctx the parse tree
	 */
	void exitCustom_variable_impala(ImpalaParser.Custom_variable_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#compute_stats_impala}.
	 * @param ctx the parse tree
	 */
	void enterCompute_stats_impala(ImpalaParser.Compute_stats_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#compute_stats_impala}.
	 * @param ctx the parse tree
	 */
	void exitCompute_stats_impala(ImpalaParser.Compute_stats_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#partitionByClause_impala}.
	 * @param ctx the parse tree
	 */
	void enterPartitionByClause_impala(ImpalaParser.PartitionByClause_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#partitionByClause_impala}.
	 * @param ctx the parse tree
	 */
	void exitPartitionByClause_impala(ImpalaParser.PartitionByClause_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#tableSample_impala}.
	 * @param ctx the parse tree
	 */
	void enterTableSample_impala(ImpalaParser.TableSample_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#tableSample_impala}.
	 * @param ctx the parse tree
	 */
	void exitTableSample_impala(ImpalaParser.TableSample_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#repeatable_impala}.
	 * @param ctx the parse tree
	 */
	void enterRepeatable_impala(ImpalaParser.Repeatable_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#repeatable_impala}.
	 * @param ctx the parse tree
	 */
	void exitRepeatable_impala(ImpalaParser.Repeatable_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#compute_stats_incremental_impala}.
	 * @param ctx the parse tree
	 */
	void enterCompute_stats_incremental_impala(ImpalaParser.Compute_stats_incremental_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#compute_stats_incremental_impala}.
	 * @param ctx the parse tree
	 */
	void exitCompute_stats_incremental_impala(ImpalaParser.Compute_stats_incremental_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#refresh_impala}.
	 * @param ctx the parse tree
	 */
	void enterRefresh_impala(ImpalaParser.Refresh_impalaContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#refresh_impala}.
	 * @param ctx the parse tree
	 */
	void exitRefresh_impala(ImpalaParser.Refresh_impalaContext ctx);
	/**
	 * Enter a parse tree produced by {@link ImpalaParser#invalidate_metadata}.
	 * @param ctx the parse tree
	 */
	void enterInvalidate_metadata(ImpalaParser.Invalidate_metadataContext ctx);
	/**
	 * Exit a parse tree produced by {@link ImpalaParser#invalidate_metadata}.
	 * @param ctx the parse tree
	 */
	void exitInvalidate_metadata(ImpalaParser.Invalidate_metadataContext ctx);
}
